package controller;

import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import view.ConsultationFilms;
import model.courtier.DAOClient;
public class LoginListener extends AbstractCommand {

	private JTextField nomUtilisateur = null;
	private JPasswordField motDePasse = null;
	
	public LoginListener(JTextField txtUtilisateur, JPasswordField txtMotDePasse){
		this.nomUtilisateur = txtUtilisateur;
		this.motDePasse = txtMotDePasse;
	}
	
	
	public void execute() {		
		
		// Valide si le nom d'utilisateur et le mot de passe n'est pas vide.
		if(this.nomUtilisateur.getText().length() != 0 && this.motDePasse != null){
			
			// Valide si le client existe dans la base de donnée.
			if (DAOClient.getClient(nomUtilisateur.getText(), 
					retrievePassword(this.motDePasse.getPassword())) != null) {
				
				// Affiche l'écran de recherche.
				new ConsultationFilms();
			} else {
				JOptionPane.showMessageDialog(null, "L'ID utilisateur ou le mot de passe est erroné, "
						+ "ressayez à nouveau!");
			}
		} else {
			JOptionPane.showMessageDialog(null, "L'ID utilisateur ou le mot de passe est vide !");
		}
	}
	
	/****
	 * retrievePassword : Cette fonction est utilisé pour décrypter le mot de passe.
	 * 
	 * @param pw Le mot de passe brouillé.
	 * @return Le mot de passe.
	 */
	public String retrievePassword(char[] pw){
		String temp = "";
		
		for(int i = 0; i < pw.length; i++){
			temp += pw[i];
		}
		return temp;
	}

}
